package br.siseventos.model;
// Generated 29/10/2012 23:23:36 by Hibernate Tools 3.2.1.GA

import java.util.HashSet;
import java.util.Set;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import static javax.persistence.GenerationType.IDENTITY;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;

/**
 * TbRecurso generated by hbm2java
 */
@Entity
@Table(name = "tb_recurso", catalog = "SisEventosDB")
public class TbRecurso extends BaseModel {

    private Integer idtRecurso;
    private TdTipoRecurso tdTipoRecurso;
    private String codIdRecurso;
    private String dscRecurso;
    private String obsRecurso;
    private Set<TaAlocacaoRecurso> taAlocacaoRecursos = new HashSet<TaAlocacaoRecurso>(0);

    public TbRecurso() {
    }

    public TbRecurso(TdTipoRecurso tdTipoRecurso, String dscRecurso) {
        this.tdTipoRecurso = tdTipoRecurso;
        this.dscRecurso = dscRecurso;
    }

    public TbRecurso(TdTipoRecurso tdTipoRecurso, String codIdRecurso, String dscRecurso, String obsRecurso, Set<TaAlocacaoRecurso> taAlocacaoRecursos) {
        this.tdTipoRecurso = tdTipoRecurso;
        this.codIdRecurso = codIdRecurso;
        this.dscRecurso = dscRecurso;
        this.obsRecurso = obsRecurso;
        this.taAlocacaoRecursos = taAlocacaoRecursos;
    }

    @Id
    @GeneratedValue(strategy = IDENTITY)
    @Column(name = "idt_recurso", unique = true, nullable = false)
    public Integer getIdtRecurso() {
        return this.idtRecurso;
    }

    public void setIdtRecurso(Integer idtRecurso) {
        this.idtRecurso = idtRecurso;
    }

    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "cod_tipo_recurso", nullable = false)
    public TdTipoRecurso getTdTipoRecurso() {
        return this.tdTipoRecurso;
    }

    public void setTdTipoRecurso(TdTipoRecurso tdTipoRecurso) {
        this.tdTipoRecurso = tdTipoRecurso;
    }

    @Column(name = "cod_id_recurso", length = 30)
    public String getCodIdRecurso() {
        return this.codIdRecurso;
    }

    public void setCodIdRecurso(String codIdRecurso) {
        this.codIdRecurso = codIdRecurso;
    }

    @Column(name = "dsc_recurso", nullable = false, length = 200)
    public String getDscRecurso() {
        return this.dscRecurso;
    }

    public void setDscRecurso(String dscRecurso) {
        this.dscRecurso = dscRecurso;
    }

    @Column(name = "obs_recurso", length = 512)
    public String getObsRecurso() {
        return this.obsRecurso;
    }

    public void setObsRecurso(String obsRecurso) {
        this.obsRecurso = obsRecurso;
    }

    @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "tbRecurso")
    public Set<TaAlocacaoRecurso> getTaAlocacaoRecursos() {
        return this.taAlocacaoRecursos;
    }

    public void setTaAlocacaoRecursos(Set<TaAlocacaoRecurso> taAlocacaoRecursos) {
        this.taAlocacaoRecursos = taAlocacaoRecursos;
    }
}
